import jieba
from jieba import posseg
from jieba import analyse

# 精确模式：把句子最精确的切分开，比较适合文本分析。默认精确模式
# 全模式：把句子中所有可能成词的词都扫描出来，cut_all = True，缺点：速度快，不能解决歧义
# paddle：利用百度的paddlepaddle深度学习框架。use_paddle=True
# 搜索引擎模式：在精确模式的基础上，对长词再进行切分，提高召回率。jieba.cut_for_search
text = "我爱中华人民共和国"
# 精确模式返回的是生成器
gen = jieba.cut(text)
#for word in gen:
#    print(word)
print(list(gen))
words = jieba.lcut(text)
print(words)

# 全模式
print(jieba.lcut(text, cut_all=True))

# 搜索引擎模式
print(jieba.lcut_for_search(text))

# 词性标注
print(posseg.lcut(text))

# 加载自己的分词文件
jieba.load_userdict(r".\MNIST\myDict.txt")
text = "马士兵教育是个安全管理机构"
print(jieba.lcut(text))

# 临时动态加词
text = "云计算"
print(jieba.lcut(text))
#jieba.add_word("云计算")
jieba.suggest_freq("云计算", True)
print(jieba.lcut(text))

# 提取关键词
text = "在实际应用中，数据可视化已经展现出了其巨大的价值。以某大型医院为例，该院通过引入一款先进的数据可视化平台，实现了对医疗资源的精准调度。该平台能够实时显示各科室的床位使用情况、医生排班信息等，使得医院管理层能够迅速响应资源紧张或过剩的情况，有效避免了医疗资源的浪费。同时，该平台还能对患者的就诊流程进行可视化分析，帮助医院发现服务瓶颈，进一步提升患者满意度。除了在医院内部管理中的应用，数据可视化还在医疗质量控制、患者满意度调查等方面发挥着重要作用。通过对关键指标的可视化展示，医疗管理者能够直观地了解到医疗服务的质量和效果，从而及时采取改进措施。而在患者满意度调查中，可视化应用则能够帮助管理者更清晰地了解患者的需求和期望，为提升医疗服务水平提供有力支持。"
print(analyse.extract_tags(text, topK=5, withWeight=True))
print(analyse.tfidf(text, topK=5, withWeight=True))

gen = jieba.tokenize(text)
for g in gen:
    print(g)

